package com.hjm.project.retainRewards.service;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.hjm.framework.web.domain.AjaxResult;
import com.hjm.project.retainRewards.domain.RetainRewards;

/**
 * 奖励留存Service接口
 * 
 * @author maker-platform
 * @date 2024-04-15
 */
public interface IRetainRewardsService {
    /**
     * 查询奖励留存
     * 
     * @param id 奖励留存ID
     * @return 奖励留存
     */
    public RetainRewards selectRetainRewardsById(Integer id);

    /**
     * 查询奖励留存列表
     * 
     * @param retainRewards 奖励留存
     * @return 奖励留存集合
     */
    public List<RetainRewards> selectRetainRewardsList(RetainRewards retainRewards);

    /**
     * 查询奖励留存列表
     *
     * @param retainRewards 奖励留存
     * @return 奖励留存一个结果
     */
    public RetainRewards selectRetainRewardsOne(RetainRewards retainRewards);

    /**
     * 新增奖励留存
     * 
     * @param retainRewards 奖励留存
     * @return 结果
     */
    public int insertRetainRewards(RetainRewards retainRewards);

    /**
     * 修改奖励留存
     * 
     * @param retainRewards 奖励留存
     * @return 结果
     */
    public int updateRetainRewards(RetainRewards retainRewards);

    /**
     * 批量删除奖励留存
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteRetainRewardsByIds(String ids);

    /**
     * 删除奖励留存信息
     * 
     * @param id 奖励留存ID
     * @return 结果
     */
    public int deleteRetainRewardsById(Integer id);


    RetainRewards selectRetainRewardsBy(Integer actId, String agentNum, String number);

    RetainRewards selectRetainRewardsByStage(Integer actId, String agentNum, String number,String stage);


    public AjaxResult insertRetainRewardsAgent(JSONObject body);
}
